\chapter{项目特色}
\section{面向对象设计原则的应用}
\begin{enumerate}
    \item 面向接口编程
    
    上游系统通过面向接口编程，避免依赖具体实现，减少由于实现变化而导致的代码修改，从而降低耦合性并提高扩展性。比如，CreditController 调用 Service 层时，是调用 CreditService 接口，而非具体实现类。

    \item 迪米特法则（最少知识原则）
    
    迪米特法则强调对象只了解必要的其他对象信息。例如，项目中采用分层设计，Service 层委托实体类进行具体操作，避免不必要的依赖，从而遵循了这一原则。
    \item DRY 原则
    
    DRY 原则强调代码复用，避免重复。例如，在处理时间字符串解析和比较时，将重复代码封装到 util.CommonUtil 中，提高了代码的复用性。
    \item 依赖倒置原则
    
    系统设计中，程序依赖于抽象接口，而非具体实现。Service 层包含接口和实现类，Controller 层调用 Service 层的接口，降低了客户与实现模块之间的耦合度。
    \item 单一职责原则
    
    每个类应仅有一个职责。例如，Mapper 层仅负责与数据库交互，且每个类只处理单个数据库表的操作，体现了职责的明确划分。
\end{enumerate}
\section{其他项目特色}
\begin{enumerate}
    \item 代码分层
    
    系统被划分为 Controller、Service 和 Mapper 三层，分别负责前端交互、业务逻辑处理和数据库交互。分层设计提高了代码复用性、可测试性，并能有效应对系统复杂性。
    \item RESTful 风格接口
    
    项目采用 RESTful 风格接口设计，统一了多人协作时的接口风格，有助于提高沟通和协作效率。
\end{enumerate}

\section{Spring Boot 架构特色}
\begin{enumerate}
    \item 自动配置
    
    Spring Boot 根据项目依赖自动配置 Spring 应用，减少了繁琐的 XML 配置，使开发更简洁。
    \item 开箱即用
    
    提供默认项目结构和配置，开发者可以快速启动项目，专注于业务逻辑。
    \item 嵌入式服务器
    
    支持嵌入式 Tomcat、Jetty 等服务器，允许应用独立运行，简化了部署流程。
    \item 生态系统支持
    
    便于集成多种数据源和第三方库，提升了开发效率和灵活性。
\end{enumerate}

这些特色使项目具备良好的扩展性、可用性和可维护性，适用于复杂的分布式系统构建。